Actualizando el cliente de Docker gracias a Hypriot

En la entrada anterior describía el problema que he tenido al intentar conectar desde mi cliente Docker en la Raspberry Pi con DockerHub. El problema era debido a que desde el 15/12/2015 no se admiten las conexiones de clientes con versiones de Docker client inferiores a la versión 1.5.

De momento la solución que he encontrado ha sido la de instalar una versión actualizada tanto del cliente como de demonio de Docker: la proporcionada por Hypriot.

En este artículo describo cómo actualizar Docker para usar la versión proporcionada por Hypriot.

  • Conectar a la Raspberry Pi.
  • Descargar el paquete de Docker proporcionado por Hypriot en su página de descargas, de la sección "Hypriot Docker Debian Packages for Raspberry Pi":
 wget -O https://downloads.hypriot.com/docker-hypriot_1.10.2-1_armhf.deb
  •  Instalamos mediante:
sudo dpkg -i docker-hypriot_1.10.2-1_armhf.deb

He intentado consultar la versión de Docker mediante sudo docker version, pero he obtenido un error indicando que el docker daemon no estaba en marcha.
sudo docker version
Client:
 Version:      1.10.2
 API version:  1.22
 Go version:   go1.4.3
 Git commit:   c3959b1
 Built:        Wed Feb 24 09:51:38 2016
 OS/Arch:      linux/arm
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Al comprobar el estado de Docker (sudo service docker status), he obtenido:
...
Stopped Docker Application Container Engine.
He intentado arrancarlo, pero:
sudo service docker start
Failed to start docker.service: Unit docker.service is masked.
He buscado en Google y la solución ha sido hacer un unmask de dos servicios:
sudo systemctl unmask docker.service
Removed symlink /etc/systemd/system/docker.service.
Al intentar arrancarlo, se indica que todavía queda otro servicio por "desenmascarar":
sudo service docker start
Failed to start docker.service: Unit docker.socket is masked.
Desenmascarando también docker.socket:
sudo systemctl unmask docker.socket
Removed symlink /etc/systemd/system/docker.socket.
Finalmente, al arrancar el servicio de Docker, no se ha devuelto ningún error (lo que indica éxito):
sudo service docker start
Y al comprobar la versión, vemos que se ha actualizado tanto el cliente como del servidor de Docker a la versión 1.10.2:
sudo docker version
Client:
 Version:      1.10.2
 API version:  1.22
 Go version:   go1.4.3
 Git commit:   c3959b1
 Built:        Wed Feb 24 09:51:38 2016
 OS/Arch:      linux/arm

Server:
 Version:      1.10.2
 API version:  1.22
 Go version:   go1.4.3
 Git commit:   c3959b1
 Built:        Wed Feb 24 09:51:38 2016
 OS/Arch:      linux/arm
Una vez actualizado el cliente de Docker, he podido conectar a DockerHub y descargar la imagen base de raspbian:
sudo docker pull resin/rpi-raspbian
Problema solucionado!!!

Quizás es el momento de darle a Hypriot otra oportunidad ;)

Comentarios